package com.yc.task.job;

import java.util.ArrayList;
import java.util.List;

/**
 * 支付宝对账
 *
 * 凌晨12点后执行
 */
public class AlipayReconTask {


    public void recon(){

        String reconDate = "20210112";

        //1.判断对账是否成功 查询对账结果表
        //2.对账日期没成功继续执行，查询对账文件是否生成。没有就调用前置服务下载。有就解析对账文件

        //3 保存服务器： /local/recon/file 。解压对账文件

        //4.通过openCSV解析对账文件。 写入对账临时表

        //5. 匹配 ： 临时表 和 交易流水表  找出，丢单，掉单，金额不匹配的数据


         // 对账两个维度： 1.先以银行的数据为准去 交易流水表中一天一条匹配。

         List<Object> reconList = new ArrayList<Object>();

         for (int i =0;i<reconList.size();i++){
             String reonPaySerialNo = reconList.get(i).toString();

             //根据对账临时表中流水号去 支付流水表中查询。
             Object  object =  null; // querBy("reonPaySerialNo"，对账日期);

             //没有查到，银行有，我们没有， 丢单，原因时间差异

             //判断金额 金额不一致

             //状态，银行成功，我们未支付，掉单

             // insert 到对账差异表
         }


         //为度二，以交易流水表为准 去临时表中找。相反逻辑

        for (int i =0;i<reconList.size();i++){
            String reonPaySerialNo = reconList.get(i).toString();

            //根据对账临时表中流水号去 支付流水表中查询。
            Object  object =  null; // querBy("reonPaySerialNo"，对账日期);

            //没有查到，银行有，我们没有， 丢单，原因时间差异

            //判断金额 金额不一致

            //状态，银行成功，我们未支付，掉单

            // insert 到对账差异表
        }


        //inset 结果到。对账结果表中。





    }
}
